package operateur;

/**
 * Interface definition : GestionColis
 * 
 * @author OpenORB Compiler
 */
public interface GestionColisOperations
{
    /**
     * Operation deposer
     */
    public operateur.Rep_DepotInitial deposer(String idDeposant, String idDestinataire, String idStation)
        throws operateur.Err_SoldeInsuffisant, operateur.Err_Zone;

    /**
     * Operation confirmationDepot
     */
    public float confirmationDepot(operateur.codeRFID RFID_Colis)
        throws operateur.Err_CodeRFID_Inexistant;

    /**
     * Operation accepterTransport
     */
    public String accepterTransport(operateur.codeRFID RFID_Colis, String idTransporteur)
        throws operateur.Err_TransportAllreadyValidate;

    /**
     * Operation demandeRetraitTransporteur
     */
    public operateur.codeRFID demandeRetraitTransporteur(String codeTransporteur)
        throws operateur.Err_CodeRetrait;

    /**
     * Operation getListeColisEnAttenteDeDepot
     */
    public operateur.codeRFID[] getListeColisEnAttenteDeDepot(String IDTransporteur, String IDStation);

    /**
     * Operation retraitColis
     */
    public operateur.codeRFID retraitColis(String idUtilisateur, String idStation)
        throws operateur.Err_NoColis;

    /**
     * Operation getListeColisClient
     */
    public operateur.InfoColis[] getListeColisClient(String idUtilisateur)
        throws operateur.Err_NoColis;

    /**
     * Operation depotApresTransport
     */
    public void depotApresTransport(operateur.codeRFID colisDepose);

    /**
     * Operation confirmationRetraitColis
     */
    public void confirmationRetraitColis(operateur.codeRFID colisRetire);

}
